package com.molichuxing.services.infrastructure.bean;

import com.molichuxing.framework.bean.RootBean;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

public class EnterpriseScheduleBean extends RootBean {
    /**
     *  id
     */
    private Integer id;

    /**
     * 订单号 order_code
     */
    private Long orderCode;

    /**
     * 企业id（乙方） enterprise_id
     */
    private Integer enterpriseId;

    /**
     * 排期 periods
     */
    private Integer periods;

    /**
     * 总排期 total_periods
     */
    private Integer totalPeriods;

    /**
     * 实付金额 arrival_amount
     */
    private BigDecimal arrivalAmount;

    /**
     * 应付日期 payable_date
     */
    private LocalDate payableDate;

    /**
     * 实付时间 pay_time
     */
    private LocalDateTime payTime;

    /**
     * 状态（0：未还款，1：已还款，2：已终止） state
     */
    private Integer state;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * orders_enterprise_schedule
     */
    private static final long serialVersionUID = 1L;

    /**
     * 
     * @date 2020-06-03 15:25:50
     * @return id 
     */
    @Override
    public Integer getId() {
        return id;
    }

    /**
     * 
     * @date 2020-06-03 15:25:50
     * @param id 
     */
    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 订单号
     * @date 2020-06-03 15:25:50
     * @return order_code 订单号
     */
    public Long getOrderCode() {
        return orderCode;
    }

    /**
     * 订单号
     * @date 2020-06-03 15:25:50
     * @param orderCode 订单号
     */
    public void setOrderCode(Long orderCode) {
        this.orderCode = orderCode;
    }

    /**
     * 企业id（乙方）
     * @date 2020-06-03 15:25:50
     * @return enterprise_id 企业id（乙方）
     */
    public Integer getEnterpriseId() {
        return enterpriseId;
    }

    /**
     * 企业id（乙方）
     * @date 2020-06-03 15:25:50
     * @param enterpriseId 企业id（乙方）
     */
    public void setEnterpriseId(Integer enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    /**
     * 排期
     * @date 2020-06-03 15:25:50
     * @return periods 排期
     */
    public Integer getPeriods() {
        return periods;
    }

    /**
     * 排期
     * @date 2020-06-03 15:25:50
     * @param periods 排期
     */
    public void setPeriods(Integer periods) {
        this.periods = periods;
    }

    /**
     * 总排期
     * @date 2020-06-03 15:25:50
     * @return total_periods 总排期
     */
    public Integer getTotalPeriods() {
        return totalPeriods;
    }

    /**
     * 总排期
     * @date 2020-06-03 15:25:50
     * @param totalPeriods 总排期
     */
    public void setTotalPeriods(Integer totalPeriods) {
        this.totalPeriods = totalPeriods;
    }

    /**
     * 实付金额
     * @date 2020-06-03 15:25:50
     * @return arrival_amount 实付金额
     */
    public BigDecimal getArrivalAmount() {
        return arrivalAmount;
    }

    /**
     * 实付金额
     * @date 2020-06-03 15:25:50
     * @param arrivalAmount 实付金额
     */
    public void setArrivalAmount(BigDecimal arrivalAmount) {
        this.arrivalAmount = arrivalAmount;
    }

    /**
     * 应付日期
     * @date 2020-06-03 15:25:50
     * @return payable_date 应付日期
     */
    public LocalDate getPayableDate() {
        return payableDate;
    }

    /**
     * 应付日期
     * @date 2020-06-03 15:25:50
     * @param payableDate 应付日期
     */
    public void setPayableDate(LocalDate payableDate) {
        this.payableDate = payableDate;
    }

    /**
     * 实付时间
     * @date 2020-06-03 15:25:50
     * @return pay_time 实付时间
     */
    public LocalDateTime getPayTime() {
        return payTime;
    }

    /**
     * 实付时间
     * @date 2020-06-03 15:25:50
     * @param payTime 实付时间
     */
    public void setPayTime(LocalDateTime payTime) {
        this.payTime = payTime;
    }

    /**
     * 状态（0：未还款，1：已还款，2：已终止）
     * @date 2020-06-03 15:25:50
     * @return state 状态（0：未还款，1：已还款，2：已终止）
     */
    public Integer getState() {
        return state;
    }

    /**
     * 状态（0：未还款，1：已还款，2：已终止）
     * @date 2020-06-03 15:25:50
     * @param state 状态（0：未还款，1：已还款，2：已终止）
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 创建时间
     * @date 2020-06-03 15:25:50
     * @return gmt_create 创建时间
     */
    @Override
    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 创建时间
     * @date 2020-06-03 15:25:50
     * @param gmtCreate 创建时间
     */
    @Override
    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 修改时间
     * @date 2020-06-03 15:25:50
     * @return gmt_modified 修改时间
     */
    @Override
    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    /**
     * 修改时间
     * @date 2020-06-03 15:25:50
     * @param gmtModified 修改时间
     */
    @Override
    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        EnterpriseScheduleBean other = (EnterpriseScheduleBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getOrderCode() == null ? other.getOrderCode() == null : this.getOrderCode().equals(other.getOrderCode()))
            && (this.getEnterpriseId() == null ? other.getEnterpriseId() == null : this.getEnterpriseId().equals(other.getEnterpriseId()))
            && (this.getPeriods() == null ? other.getPeriods() == null : this.getPeriods().equals(other.getPeriods()))
            && (this.getTotalPeriods() == null ? other.getTotalPeriods() == null : this.getTotalPeriods().equals(other.getTotalPeriods()))
            && (this.getArrivalAmount() == null ? other.getArrivalAmount() == null : this.getArrivalAmount().equals(other.getArrivalAmount()))
            && (this.getPayableDate() == null ? other.getPayableDate() == null : this.getPayableDate().equals(other.getPayableDate()))
            && (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
            && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
            && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()));
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getOrderCode() == null) ? 0 : getOrderCode().hashCode());
        result = prime * result + ((getEnterpriseId() == null) ? 0 : getEnterpriseId().hashCode());
        result = prime * result + ((getPeriods() == null) ? 0 : getPeriods().hashCode());
        result = prime * result + ((getTotalPeriods() == null) ? 0 : getTotalPeriods().hashCode());
        result = prime * result + ((getArrivalAmount() == null) ? 0 : getArrivalAmount().hashCode());
        result = prime * result + ((getPayableDate() == null) ? 0 : getPayableDate().hashCode());
        result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        return result;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orderCode=").append(orderCode);
        sb.append(", enterpriseId=").append(enterpriseId);
        sb.append(", periods=").append(periods);
        sb.append(", totalPeriods=").append(totalPeriods);
        sb.append(", arrivalAmount=").append(arrivalAmount);
        sb.append(", payableDate=").append(payableDate);
        sb.append(", payTime=").append(payTime);
        sb.append(", state=").append(state);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}